package com.liuyc.lib.tools.ext

import java.lang.Exception


/**
 * 主要的 string  扩展类
 */

/**
 * 转 int 如果 str 为空 获取转化 异常则会返回 0
 */
inline fun String?.toIntDefault(): Int {
    var value: Int = 0

    try {
        if (this != null)
            value = this.toInt()
    } catch (e: Exception) {
        e.printStackTrace()
    }
    return value
}

/**
 * 转 Long 如果 str 为空 获取转化 异常则会返回 0L
 */
inline fun String?.toLongDefault(): Long {
    var value: Long = 0
    try {
        if (this != null)
            value = this.toLong()
    } catch (e: Exception) {
        e.printStackTrace()
    }
    return value
}

/**
 * 转 Float 如果 str 为空 获取转化 异常则会返回 0.0f
 */
inline fun String?.toFloatDefault(): Float {
    var value: Float = 0.0f

    try {
        if (this != null)
            value = this.toFloat()
    } catch (e: Exception) {
        e.printStackTrace()
    }
    return value
}

/**
 * 转 Double 如果 str 为空 获取转化 异常则会返回 0.0
 */
inline fun String?.toDoubleDefault(): Double {
    var value: Double = 0.0
    try {
        if (this != null)
            value = this.toDouble()
    } catch (e: Exception) {
        e.printStackTrace()
    }
    return value
}


/**
 * 将 Any 转成 string  首先他要是个string 类型
 */
inline fun Any?.toDefaultString(): String {
    var value = ""
    try {
        this?.let {
            if (it is String)
                value = it
        }
    } catch (e: Exception) {
        e.printStackTrace()
    }
    return value
}




